import api from '@/utils/http'

// 用户相关接口
export const userApi = {
  // 用户登录
  login(data: { username: string; password: string }) {
    return api.post<{ token: string; userInfo: any }>({
      url: '/auth/login',
      data
    })
  },

  // 获取用户信息
  getUserInfo() {
    return api.get<{ userInfo: any }>({
      url: '/user/info'
    })
  },

  // 用户列表
  getUserList(params: { page: number; size: number; keyword?: string }) {
    return api.get<{ list: any[]; total: number }>({
      url: '/user/list',
      params
    })
  },

  // 创建用户
  createUser(data: any) {
    return api.post({
      url: '/user/create',
      data
    })
  },

  // 更新用户
  updateUser(id: string, data: any) {
    return api.put({
      url: `/user/update/${id}`,
      data
    })
  },

  // 删除用户
  deleteUser(id: string) {
    return api.del({
      url: `/user/delete/${id}`
    })
  }
}

// 菜单相关接口
export const menuApi = {
  // 获取菜单列表
  getMenuList() {
    return api.get<{ menuList: any[] }>({
      url: '/menu/list'
    })
  },

  // 创建菜单
  createMenu(data: any) {
    return api.post({
      url: '/menu/create',
      data
    })
  },

  // 更新菜单
  updateMenu(id: string, data: any) {
    return api.put({
      url: `/menu/update/${id}`,
      data
    })
  },

  // 删除菜单
  deleteMenu(id: string) {
    return api.del({
      url: `/menu/delete/${id}`
    })
  }
}

// 角色相关接口
export const roleApi = {
  // 获取角色列表
  getRoleList(params: { page: number; size: number; keyword?: string }) {
    return api.get<{ list: any[]; total: number }>({
      url: '/role/list',
      params
    })
  },

  // 创建角色
  createRole(data: any) {
    return api.post({
      url: '/role/create',
      data
    })
  },

  // 更新角色
  updateRole(id: string, data: any) {
    return api.put({
      url: `/role/update/${id}`,
      data
    })
  },

  // 删除角色
  deleteRole(id: string) {
    return api.del({
      url: `/role/delete/${id}`
    })
  }
}
